/**
 * 
 */
package hb_Teach_InitObject_Date;

import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

import org.junit.Test;

/**
 * @author Jiang Zhiyan
 *
 * 2021年5月13日 上午10:55:25
 */
public class teachData {
   
	/**
	 * 使用long描述时间-System.currentTimeMillis()
	 * 
	 */
	@Test
	public void longTimesTest() {
		long times= System.currentTimeMillis();
		System.out.println(times);//1620872783595
		//程序调用
	}
	
	/**
	 * java.util.Date是常用的描述时间概念的类（商品生产日期，生日，纪念日）
	 * 
	 * 使用 Date表达时间的概念，但是不进行日期的计算
	 */
	@Test
	public void dateTest() {
		Date now = new Date();
		System.out.println(now);
		//千年虫问题
		System.out.println(now.getYear()); //121
	}
	  
	/**
	 * Calendar通常进行日期的计算-获取年月日 时分秒信息
	 * 
	 * 1.初始化对象 Calendar.getInstance()
	 * 2.调用内部方法修改默认值  初始化对象.get(Calendar. )
	 * 3.输出结果 sysout()
	 */
	@Test
	public void calendarTest() {
		Calendar now=Calendar.getInstance();//初始化对象
		System.out.println(now);
//	   获得相关的时间的信息
		int year=now.get(Calendar.YEAR);
		int month = now.get(Calendar.MONTH);
		System.out.println("月份"+(month+1)); //0表示1月，1表示2月
		int hour = now.get(Calendar.HOUR_OF_DAY);
		System.out.println("年"+year+" 时"+hour);
//		设置指定日期
	    now.set(2020, Calendar.MAY,1);
	    System.out.println(now);
	    now.set(Calendar.YEAR, 2021);  //指定设置年份为2021年，2021-5-1
	    //向后7天
	    now.add(Calendar.DAY_OF_MONTH, 7);
	    System.out.println(now.getTime()); //Calendar转换成Date 输出
	}
	
	@Test
	public void dateToStringTest() {
		SimpleDateFormat sdf= new SimpleDateFormat();
//		System.out.println(sdf);
		Date now= new Date();
		System.out.println(now);
		//通过sdf将Date转换成字符串
		String strDate =sdf.format(now);
		String defaultPattern = sdf.toPattern();
		System.out.println("默认的日期格式："+ defaultPattern);  //  y/M/d ah:mm
		System.out.println(strDate);         //                    2021/5/13
//		要求日期格式为：  2021-05-13 15：10
//        设置sdf的日期格式
		sdf.applyPattern("yyyy-MM-dd HH:mm:ss");
		System.out.println(sdf.format(now));  //2021-05-13 15：10
//	    要求日期格式为：  2021年05月13日 15：10：22
		sdf.applyPattern("yyyy年MM月dd天 HH:mm:ss");
		System.out.println(sdf.format(now));
	 }
	
}

class User{
	private String name;
	private int age;
	private Date addTime; //注册时间
}